This application claims priority under 35 U.S.C. xc2xa7xc2xa7119 and/or 365 to 0003549-3 filed in Sweden on Oct. 2, 2000; the entire content of which is hereby incorporated by reference.
The present invention generally relates to field of sampling, and more specifically, to methods and apparatus for reconstruction of nonuniformly sampled bandlimited signals, to methods and apparatus for compensation of time skew in time-interleaved analog-to-digital converters (ADCs), and to a computer program product for performing said methods of reconstruction.
In uniform sampling, a sequence x(n) is obtained from an analog signal xa(t) by sampling the latter equidistantly at t=nT, xe2x88x92∞ less than n less than ∞, i.e., x(n)=xa(nT), T being the sampling period, as illustrated in FIG. 1a. In this case, the time between two consecutive sampling instances is always T. In nonuniform sampling, on the other hand, the time between two consecutive sample instances is dependent on the sampling instances. The present invention deals with the situation where the samples can be separated into N subsequences xk(m), k=0, 1, . . . , Nxe2x88x921, where xk(m) is obtained by sampling xa(t) with the sampling rate 1/(MT) at t=nMT+tk, i.e., xk(m)=xa(nMT+tk), M being a positive integer. This sampling scheme is illustrated in FIG. 1b for N=2 and M=2. Such nonuniformly sampled signals occur in, e.g., time-interleaved analog-to-digital converters (ADCs) due to time skew errors.
The question that arises is how to form a new sequence y(n) from xk(m) such that y(n) is either exactly or approximately (in some sense) equal to x(n). For conventional time-interleaved ADCs, N=M and, ideally, tk=kT. In this case, y(n)=x(n) is obtained by simply interleaving xk(m). However, in practice, tk is not exactly equal to kT due to time skew errors which introduces aliasing components into Y(ejxcfx89T), Y(ejxcfx89T) being the Fourier transform of y(n). This means that y(n)xe2x89xa0x(n), and thus the information in y(n) is no longer the same as that in x(n).
It should be noted that it is well known that, if the tk""s are distinct such that all samples are separated in time, then xa(t) is uniquely determined by the samples in the xk(m)""s. It is also well known how to retain xa(t) from the xk(m)""s using analog interpolation functions. However, these functions are not easily, if at all possible, achievable in practical implementations, which thus call for other solutions.
Accordingly, it is an object of the present invention to provide a method and an apparatus, respectively, for reconstruction of a nonuniformly sampled bandlimited analog signal xa(t), said nonuniformly sampled signal comprising N subsequences xk(m), k=0, 1, . . . , Nxe2x88x921, Nxe2x89xa72, obtained through sampling at a sampling rate of 1/(MT) according to xk(m)=xa(nMT+tk), where M is a positive integer, and tk=kMT/N+xcex94tk, xcex94tk being different from zero, which are capable of forming a new sequence y(n) from said N subsequences xk(m) such that y(n) at least contains the same information as x(n)=xa(nT), i.e. xa(t) sampled with a sampling rate of 1/T, in a frequency region lower than xcfx890 (and possibly including xcfx890), xcfx890 being a predetermined limit frequency.
A further object of the present invention is to provide such method and apparatus, respectively, which are efficient, fast, simple, and of low cost.
Still a further object of the present invention is to provide such method and apparatus, respectively, which are capable of reducing noise such as e.g. quantization noise.
Those objects among others are attained by a method and an apparatus, respectively, which perform the steps of:
(i) upsampling each of the N subsequences xk(m), k=0, 1, . . . , Nxe2x88x921, by the factor M;
(ii) filtering each of the upsampled N subsequences xk(m), k=0, 1, . . . , Nxe2x88x921, by a respective digital filter; and
(iii) adding the N digitally filtered subsequences to form y(n).
Preferably, the respective digital filter is a fractional delay filter and has a frequency response Gk=ake(xe2x88x92jxcfx89sT), k=0, 1, . . . , Nxe2x88x921, in the frequency band |xcfx89T|xe2x89xa6xcfx890T, ak being a constant and s being different from an integer, and particularly s equals d+tk, d being an integer.
If xcfx890T is a fixed value less than xcfx80, such that the original analog signal comprises frequency components of a higher frequency than xcfx890, regional perfect reconstruction is achieved, i.e. y(n) contains the same information as x(n)=xa(nT), i.e. xa(t) sampled with a sampling rate of 1/T, only in a frequency region |xcfx89|xe2x89xa6xcfx890. Regionally perfect reconstruction is of particular interest in oversampled systems where the lower frequency components carry the essential information, whereas the higher frequency components contain undesired components (e.g., noise) to be removed by digital and/or analog filters.
Here, the fractional delay filters have a frequency response Gk=ak Ak(ejxcfx89T), k=0, 1, . . . , Nxe2x88x921, in the frequency band xcfx890T less than |xcfx89T|xe2x89xa6xcfx80, where Ak(ejxcfx89T) is an arbitrary complex function.
If on the other hand xcfx890 does include all frequency components of the original analog signal (i.e. xcfx890T includes all frequencies up to xcfx80) perfect reconstruction is achieved, i.e. y(n) is identical with x(n).
In either case two different situations arise: (1) 2K0+1=N and (2) 2K0+1 less than N, wherein K0 is given by       K    0    =            ⌈                        M          ⁢                      (                                                            ω                  0                                ⁢                T                            +                                                ω                  1                                ⁢                T                                      )                                    2          ⁢          π                    ⌉        -    1  
for regionally perfect reconstruction, wherein ┌x┐ should be read as the smallest integer larger than or equal to x and [xe2x88x92xcfx891, xcfx891] being the frequency band wherein said bandlimited analog signal xa(t) is found, respectively, and by
K0=Mxe2x88x921
for perfect reconstruction.
In situation (1) the ak""s are calculated as
a=Bxe2x88x921c,
a being the ak""s in vector form given by
a=[a0 a1 . . . aNxe2x88x921]T,
Bxe2x88x921 being the inverse of B as given by       B    =          [                                                  u              0                              -                                  K                  0                                                                                        u              1                              -                                  K                  0                                                                          ⋯                                              u                              N                -                1                                            -                                  K                  0                                                                                                        u              0                              -                                  (                                                            K                      0                                        -                    1                                    )                                                                                        u              1                              -                                  (                                                            K                      0                                        -                    1                                    )                                                                          ⋯                                              u                              N                -                1                                            -                                  (                                                            K                      0                                        -                    1                                    )                                                                                          ⋮                                ⋮                                              xe2x80x83                                            ⋮                                                              u              0                              K                0                                                                        u              1                              K                0                                                          ⋯                                              u                              N                -                1                                            K                0                                                        ]        ,
xe2x80x83wherein             u      k        =          ⅇ                        -          j                ⁢                              2            ⁢            π                    MT                ⁢                  t          k                      ,
and c being
xe2x80x83c=[c0 c1 . . . c2K0]T,
xe2x80x83wherein       c    k    =      {                                                      M              ,                                                          k              =                              K                0                                                                        xe2x80x83                                                                          0              ,                                                                          k                =                0                            ,              1              ,              …              ⁢                              xe2x80x83                            ,                              2                ⁢                                  K                  0                                            ,                                                          k              ≠                              K                0                                                        .      
In situation (2) the ak""s are calculated as
a={circumflex over (B)}xe2x88x921ĉ,
a being defined as
a=[au afix]T
wherein au and afix contain (2K0+1) unknown ak""s and L=Nxe2x88x922K0xe2x88x921 fixed constant ak""s, {circumflex over (B)}xe2x88x921 being the inverse of {circumflex over (B)} as given by             B      ^        =          [                                    B                                                S                              ]        ,
wherein B is given by       B    =          [                                                  u              0                              -                                  K                  0                                                                                        u              1                              -                                  K                  0                                                                          ⋯                                              u                              N                -                1                                            -                                  K                  0                                                                                                        u              0                              -                                  (                                                            K                      0                                        -                    1                                    )                                                                                        u              1                              -                                  (                                                            K                      0                                        -                    1                                    )                                                                          ⋯                                              u                              N                -                1                                            -                                  (                                                            K                      0                                        -                    1                                    )                                                                                          ⋮                                ⋮                                              xe2x80x83                                            ⋮                                                              u              0                              K                0                                                                        u              1                              K                0                                                          ⋯                                              u                              N                -                1                                            K                0                                                        ]        ,
xe2x80x83wherein             u      k        =          ⅇ                        -          j                ⁢                              2            ⁢            π                    MT                ⁢                  t          k                      ,
S is given by
S=[Sz Sd],
xe2x80x83wherein       S    z    =      [                            0                          0                          ⋯                          0                                      0                          0                          ⋯                          0                                      ⋮                          ⋮                                      xe2x80x83                                    ⋮                                      0                          0                          ⋯                          0                      ]  
xe2x80x83and
Sd=diag[1 1 . . . 1],
xe2x80x83and
ĉ being
ĉ=[c afix]T,
xe2x80x83wherein
c is given by
c=[c0 c1 . . . c2k0]T,
xe2x80x83wherein       c    k    =      {                                                      M              ,                                                          k              =                              K                0                                                                        xe2x80x83                                                                          0              ,                                                                          k                =                0                            ,              1              ,              …              ⁢                              xe2x80x83                            ,                              2                ⁢                                  K                  0                                            ,                                                          k              ≠                              K                0                                                        .      
Thus L ak""s can be arbitrarily chosen. Preferably they are chosen to be zero in which case the corresponding channel is removed or to be M/N in which case any quantization noise can be minimized.
Further objects of the invention are to provide a method for compensation of time skew in a time-interleaved analog-to-digital converter (ADC) system comprising a plurality of analog-to-digital converters (ADCs), and to provide the ADC system itself.
Thus, such method and ADC system are provided comprising the respective method and apparatus as described above, wherein each of the N subsequences xk(m), k=0, 1, . . . , Nxe2x88x921, Nxe2x89xa72 is sampled by a respective one of the analog-to-digital converters.
Yet a further object of the present invention is to provide a computer program product for reconstruction of a nonuniformly sampled bandlimited analog signal.
Such object is attained by a computer program product loadable into the internal memory of a digital signal processing apparatus, comprising software code portions for performing any of the methods as depicted above when said product is run on said apparatus.
An advantage of the present invention is that a fully or partly reconstructed digital signal may be produced without the need of applying very complex and hardly implementable analog interpolation functions.
Further characteristics of the invention and advantages thereof will be evident from the following detailed description of embodiments of the invention.